]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
st-theme-node-transition: fix paint state corruption
authorLionel Landwerlin <llandwerlin@gmail.com>
Wed, 17 Jul 2013 17:08:35 +0000 (18:08 +0100)
committerLionel Landwerlin <llandwerlin@gmail.com>
Wed, 17 Jul 2013 18:38:44 +0000 (19:38 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=704411

src/st/st-theme-node-transition.c

index c4b6ea15d7eb69a4f7b7c0376169672af76c7336..a84c8871d71a375492ff233fe94de60012175a65 100644 (file)
@@ -148,9 +148,13 @@ st_theme_node_transition_update (StThemeNodeTransition *transition,
   if (st_theme_node_equal (new_node, old_node))
     {
       {
-        StThemeNodePaintState tmp = priv->old_paint_state;
-        priv->old_paint_state = priv->new_paint_state;
-        priv->new_paint_state = tmp;
+        StThemeNodePaintState tmp;
+
+        st_theme_node_paint_state_init (&tmp);
+        st_theme_node_paint_state_copy (&tmp, &priv->old_paint_state);
+        st_theme_node_paint_state_copy (&priv->old_paint_state, &priv->new_paint_state);
+        st_theme_node_paint_state_copy (&priv->new_paint_state, &tmp);
+        st_theme_node_paint_state_free (&tmp);
       }
 
       if (clutter_timeline_get_elapsed_time (priv->timeline) > 0)